// // Iterator 属性  [Symbol.iterator]

// // let obj = {
// //   [Symbol.iterator]: () => {}
// // }

// // {value: 1, done: false}



// function createIterator(array) {
//   let index = 0
//   return {
//     next: function () {
//       if (index < array.length) {
//         return { value: array[index++], done: false };
//       } else {
//         return { value: undefined, done: true };
//       }
//     }
//   }
// }

// const myIterator = createIterator([1, 2, 3])
// console.log(myIterator.next());
// console.log(myIterator.next());
// console.log(myIterator.next());
// console.log(myIterator.next());



let obj = {
  [Symbol.iterator]: () => {
    let index = 0
    return {
      next: function () {
        if (index < 3) {
          return { value: index++, done: false };
        } else {
          return { value: undefined, done: true };
        }
      }
    }
  }
}

for (let val of obj) {
  console.log(val);
  
}